Створення іконок. Теорія

Іконки для Light Alloy створюються у вигляді пакету з двох файлів:

Зв'язок цих двох файлів визначається їх однаковим ім'ям при різних розширеннях. Так, якщо ви створюєте бібліотеку іконок з ім'ям graphite.icl, то файл опису до неї повинен мати ім'я graphite.xml і ніяк інакше.

Створення іконок

Усе розпочинається із створення іконки відповідно до вашої ідеї. У ОС Windows іконки формуються декількома варіантами зображень. Причому, на відміну від Лінукса, де різні розміри досягаються масштабуванням векторних іконок, в Windows можна малювати скільки завгодно незалежних варіантів іконок для кожного розміру:

Необхідно пам'ятати, що чим менше розмірів іконки ви зробите, тим менше місця ця іконка займатиме. Крім того, щоб ще сильніше зменшити розмір іконок, до них можна застосовувати png-стискування (до розмірів 64х64 і вище). Воно дозволяє зменшити займаний розмір іконки в 3-10 разів без втрати якості.

Втім, є мінімальний ефективний набір розмірів, які рекомендується використовувати. Зверніть увагу, що усі розміри являють собою квадрат:

Почати малювання іконки рекомендується з найбільшого розміру - 256х256. А далі доведеться вирішувати дуже важливе питання: як саме малювати менші розміри. Тут є два варіанти:

Перший метод дуже швидкий, але добрі результати дає тільки там, де немає дрібних деталей:

Якщо ж в іконці є присутніми дрібні деталі, то створення зменшеного розміру шляхом масштабування виглядатиме розмитим, незважаючи на усі старання:

Як бачимо, чим менший розмір, тим гірше виглядає зображення.

У таких випадках малювання кожного розміру окремо, хоч і займе набагато більше часу, але дасть більше вражаючий результат.
Зверніть увагу, наскільки усе чітко і ясно:

Створення бібліотеки іконок

При створенні бібліотеки вам потрібно буде визначити рівень її повноти і універсальності. Ваша бібліотека може містити:

Також можна комбінувати підходи. Наприклад, можна створити іконки для трьох типів, а також персональні іконки для деяких розширень.

Від вашого вибору залежатимуть універсальність, зручність і розмір вашого пакету іконок.

Створення файлу опису

Файл опису зберігає інформацію про автора, назву і короткий (дуже короткий!) опис пакету іконок. Рекомендується створювати файл, використовуючи кодування "UTF-8 with signature" (вона ж - UTF-8 BOM).

Усередині він може мати, наприклад, такий вигляд:

<?xml version="1.0" encoding="UTF-8"?> <ICONLIB> <AUTHOR name="Ham" email="" homepage="" comments="256x48x32x16"/> <ICONS> <ICON id="0" ext="AAC,AC3,AIF,APE,AT3,AU,CDA,DTS,FLAC,MIDI,MKA,MOD,MP3,MPA,MPC,OGG,WAV,WMA,OPUS"/> <!-- audio --> <ICON id="1" ext="ASX,BDMV,CUE,IFO,LAP,LST,M3U,MPLS,PLS"/> <!-- playlist --> <ICON id="2" ext="AVI,AVS,FLV,M1V,M2TS,MKV,MOV,MP4,MPG,MPV,MTS,OGM,QT,RMVB,TS,VOB,WEBM"/> <!-- video --> </ICONS> </ICONLIB>

Розберемося, що тут до чого. Ось звичайний рядок:

<AUTHOR name="Ham" email="" homepage="" comments="256x48x32x16"/>

Це тег - одинична команда. Він характеризується особливими дужками: < >. У нас тут використовується два види тегів:

  1. парні;
  2. одиничні.

Парні теги складаються з двох частин: що відкриває і закриває (наприклад, <ICONLIB> </ICONLIB>). Усередині парних тегів можуть бути інші теги.
Одиничні теги - <ICON /> - характеризуються косою рискою перед другою дужкою. По суті, запис "<ICON />" рівнозначний запису "<ICON></ICON>". Так робиться просто для спрощення.

У нашому випадку теги складаються з таких частин:

  1. Ім'я функції (ICON) - або "що ми взагалі хочемо цим добитися". "ICON" означає "заявити іконку";
  2. параметри (id="0" ext="LA") - функції, що уточнюють доповнення. У них-то уся сіль. Саме вони визначають, яка саме іконка, і для яких конкретно випадків задається.

Тепер пройдемося за нашим зразком і подивимося, що за що відповідає:

Інформація від автора:

<AUTHOR name="Ham" email="" homepage="" comments="256x48x32x16"/>

Заява іконок:

<ICON id="1" ext="ASX,BDMV,CUE,IFO,LAP,LST,M3U,MPLS,PLS"/>

Епілог

Усе, що нам залишається, це перевірити, що у обох файлів однакові імена, та опублікувати їх разом із скріншотом в спеціальній гілці форуму, заздалегідь запакувавши в архів (старожили рекомендують .zip).